Energy efficient virtual machines placement in cloud datacenters using genetic algorithm and adaptive thresholds

Cloud computing platform provides on-demand IT services to users and advanced the technology. The purpose of virtualization is to improve the utilization of resources and reduce power consumption. Energy consumption is a major issue faced by data centers management. Virtual machine placement is an effective technique used for this purpose. Different algorithms have been proposed for virtual machine placement in cloud environments. These algorithms have considered different parameters. It is obvious that improving one parameter affects other parameters. There is still a need to reduce energy consumption in cloud data centers. Data centers need solutions that reduce energy consumption without affecting other parameters. There is a need to device solutions to effectively utilize cloud resources and reduce energy consumption. In this article, we present an algorithm for Virtual Machines (VMs) placement in cloud computing. The algorithm uses adaptive thresholding to identify over utilized and underutilized hosts to reduce energy consumption and Service Level Agreement (SLA) violations. The algorithm is validated with simulations and comparative results are presented.


Introduction
Cloud computing provides on-demand delivery of computing services, storage, and applications.In cloud computing, resources are only a click away which saves time.Cloud services are constrained by parameters such as Quality of Service (QoS), user deadlines, user budget, execution time, energy consumption Service Level Agreements (SLAs) and many more [1,2].Different techniques have been opted to balance these parameters.Virtual Machines (VMs) placement is one such technique.It is the process of finding suitable hosts for different VMs.It is an important operation to control the assignment of VMs to physical machines with the changes in application load.It is necessary to maintain the utilization record of the host to reduce energy consumption [3].Each VM request is individually characterized by four parameters i.e., CPU, memory, disk, and bandwidth.Resource allocation algorithms are used to accept VM requests as many as possible.Different types of allocation strategies work on the basis of allocation policy to maintain the number of VMs.We can virtualize the hardware, servers, and operating system to minimize energy consumption and cost.
Energy consumption in cloud data centers increases with the number of users and services.Research has been carried out to detect overload or underload hosts at runtime to reduce the energy consumption in cloud data centers using VM placement algorithms [4].The purpose is to effectively place VMs in data centers to ensure the QoS and reduce energy consumption.The objective of the VM placement algorithms is to reduce energy consumption i.e., to reduce the sum of energy used by the computation, processing, transfer, and storage [5].The procedure of VM placement is shown in Fig 1 .Where the scheduler determines the load of a host.If the host can accommodate VMs, the placement takes place otherwise, the next available host is checked.
In cloud data centers, energy consumption can be reduced by increasing the number of VMs and decreasing physical machines [6].Activation of the active and idle modes of VMs also decreases energy consumption and enhances resource utilization [7].Sorting of tasks according to the schedule of processing needs to avoid overload or underload hosts in data centers and reduce energy consumption.Mapping of the task from one VM to other VMs and the assignment of the physical machine to VMs also consumes energy and needs to be addressed [8].
In this article, we present a novel algorithm for VM placement in cloud computing environments.The algorithm is based on Genetic Algorithm (GA) with adaptive threshold.Adaptive thresholds are used to detect over-utilized and underutilized hosts in cloud data centers.Setting static upper and lower thresholds may lead to imbalance load and thus cause more energy consumption and low QoS.The proposed algorithm uses an intermediate value as the average of the upper and lower thresholds to identify hosts with utilization near the lower threshold.The resources of these hosts are allocated to VMs for better resource utilization.Furthermore, GA is used to optimize the allocation process.The objectives are to reduce energy consumption with low SLA violations for better QoS.The algorithm is validated by experiments with different configurations and comparative results are presented.The rest of the paper is organized as follows.The literature review section presents a detailed discussion on state of the art methods, followed by materials and methods section that covers the proposed method in detail.The results and discussion section presents the experimental evaluation followed by the conclusion section.

Literature review
The applications of cloud computing are diversified and cover a large number of domains including health, education, business, supply chain, and many more [9][10][11].Increase in applications leads to massive amounts of data and processing.The processing is achieved using virtualization i.e., VM placement.VM placement is a critical factor in resource utilization and power efficiency in cloud computing.The designed algorithms must consider the dynamic nature of the workload and live VMs migration.Several evolutionary and non-evolutionary algorithms are used for VM placement in cloud computing.Algorithms for VM placement may be static or dynamic.In static algorithms, decisions are not reviewed later whereas in dynamic algorithms, the assignment of VMs to host changes during execution [12].The basic task of a scheduler is to achieve the desired objectives with an efficient VMs schedule [13].Another issue faced by cloud customers is the security threat, where private information of the user is extracted from VMs located on some server [14].Dynamic allocation of VM can also improve the allocation policy so that it is difficult for the attacker to locate the targets [15].There exist reviews on VM placement and scheduling in cloud computing.In this section, we discuss some of these techniques that are closer to the work of this article.Readers are referred to the reviews [5-8, 16, 17] for details of different methods.
An algorithm for VM placement and load assignment is proposed in [18].The algorithm is based on a mathematical model to reduce hardware requirements for VMs.The algorithm targets workload in multi-application environments by considering the heterogeneous latency requirements of different applications.Numerical results are shown to validate the proposed algorithm.To resolve the issue of energy consumption in cloud data centers, authors in [19] proposed a hybrid algorithm.The algorithm is based on Random Forest (RF) and GA.The objectives of the algorithm are to reduce energy consumption with better load balance.GA is used to generate the training dataset used to train RF model.Comparative experimental results are presented using real-time workload traces.The results analysis show that the proposed model performs better than the existing compared models.An algorithm based on utility functions for VMs placement is proposed in [12].The goals of the algorithm are to optimize energy consumption and SLA violations (SLAVs).The algorithm uses fewer VM migrations and hosts shut down to achieve the desired goals.Simulation results using CloudSim are shown to validate the proposed algorithm.A distributed parallel genetic algorithm for VMs placement in cloud environment is presented in [20].The algorithm runs on different hosts in parallel and distributed fashion.The solutions obtained from this stage are used as inputs to the next stage as the initial population.The algorithm searches for an optimal solution in the second stage.The objectives of the algorithm are to ensure QoS and low energy consumption.CloudSim simulator is used to validate the performance of the proposed algorithm.The proposed model in [21] is based on a comprehensive system model that shaped a problem as a constrained multi objective optimization.It includes a novel thermal aware VM placement strategy that considers cost increment, energy consumption, migration cost, and calculation of heat that circulates around the server racks.Placement decisions are taken with the help of Multi Objective Algorithm based on Path Finder Algorithm and Genetic Algorithm (MOPFGA).The combined algorithms are enhanced by Opposition Based Learning (OBL) to avoid the local optimum.Improvements in different parameters are claimed after experimental analysis.
Authors in [22] proposed a Multi-resource Collaborative Optimization Control (MCOC) mechanism for the migration of VMs to address the problems of imbalance workload, resource wastage, and negative impact on QoS.These problems come from unbalanced resource utilization of physical machines in cloud data centers.For adaptive estimation of the probability that the functional machines are in the multi-resource utilization balance status, the Gaussian model is used.This study proposed an effective selection algorithm for VM migration between the source and destination host.It also includes adaptive Gaussian Modelbased VM placement (AGM-VMP) algorithm and VM consolidation (AGM-VMC) method.The results show that the AGM-VMC method is an effective method for improving resource utilization and achieve load balance.It also reduces energy consumption in data centers.In the comparison of the same method with the statistic and heuristic methods, intelligent algorithms can normally obtain an appropriate optimal solution.Therefore, these methods are more efficient in dealing with complex workloads that are not balanced in VM placement environment.However, this algorithm needs iterations in evaluation which causes long execution time and less efficiency.Authors in [23] proposed an algorithm for reliable VM placement and routing in cloud computing.The algorithm targets the availability of VMs in response to consumers' requests.A specific number of hosts and VMs are ensured to be available such that communication delays and the number of VMs to host are not violated.The algorithm uses an exact Integer Nonlinear Program (INLP) to solve the problem.The algorithm also studies the problem of reliable routing.The target is to ensure the availability and keep the delay under a threshold.The algorithm is validated with the experimental results.Authors in [24] considered the co-location attack problem that occurs in cloud Infrastructure as a Service (IaaS) layer as the result of VM placement strategies.The study proposed an online secured optimization VM placement that ensures a high level of security by minimizing the use of minimum physical servers.The results show the efficiency and correctness of the system.The method ensures security by the cloud provider for its customers and is very useful in practice.The core component of the proposed strategy is the statistical security inference method in which evaluation is done.It depends on the new statistical symbol assignment, which allows the provider to specify a confidence level and an upper-bound deviation of security in addition to the security parameters.This approach was validated empirically over multiple configurations and kept errors under control.Authors in [25] divide the problem of VMs placement into sub-problems such as the detection of overutilized and under-utilized hosts, VM migration, and selection policies.Different heuristics have been adopted and evaluated in terms of energy consumption, SLAVs, VM migration, etc.Another algorithm for VMs placement in cloud environments is proposed in [26].To ensure the reliability of cloud services, a redundant VM strategy is used.The solution consists of three algorithms.The first algorithm is used to select hosts for VMs.The second algorithm is used to place the VMs on the selected host and the third algorithm is used to dynamically assign tasks to VMs which is based on finding maximum weight matching in bipartite graphs.The objective of the algorithm is to ensure reliability in cloud services.
Maintaining the efficiency of energy is a critical issue in data center management.The placement of VMs in a good way increases the efficiency of energy.The proposed method in [27] worked on accelerated GA for energy efficiency in VM placement.This method simplifies the calculations in GA using a new fitness function.Simulation results demonstrate that the accelerated GA produces better results as compared to the standard GA on small, medium, and large-scale data centers.More physical machines can be switched off as compared to standard GA to save more energy.The results of updated GA with the new fitness function derives an 8% energy saving and a 66% reduction in execution time as compared to the standard GA.
In reference [28], researchers proposed a model to solve the problem of energy consumption and replacement time.The proposed performs integration on underutilized servers for energy saving.Afterward, an improved Long Short-Term Memory (LSTM) model is utilized that reduces latency based on historical data.Results show that the improved learning model can reduce the placement latency and can save more energy.Authors in [29] proposed an improved algorithm for VM placement which is based on Ant Colony Optimization (ACO) which contains effective modern processor technologies and parallelization techniques.The method is faster than the compared method.A two-phase optimization algorithm for VM placement in cloud computing is presented in [16].The algorithm combines the advantages of online and offline formulation in dynamic environments.The objectives are service elasticity and overbooking of physical resources.The algorithm targets power consumption, revenue, resource utilization, and reconfiguration time.The two phases include the reconfiguration of VM migration and handling the requests during the reconfiguration phase.Experimental evaluation is presented to validate the proposed algorithm.
Another algorithm that minimizes the number of physical machines for VM placement is proposed in [30].The algorithm is based on non-linear programming to formulate the problem.In addition to server resources, additional constraints are added to guarantee the placement.Simulation results are shown to validate the proposed algorithm.Another algorithm that targets cloud security in VM placement is proposed in [31].The algorithm uses groupingbased placement strategy to achieve the desired goal.The approach is analyzed both theoretically and with simulation results to show the viability of the proposed solution.It is shown that the performance slightly decreases with implanting security based VM placement algorithm.An energy-aware ant colony system for VM placement in cloud computing is proposed in [32].The algorithm minimizes the number of physical servers to identify under utilized servers and reduce energy consumption.The algorithm uses ant colony system coupled with order exchange and migration local search to solve the problem.Experimental results are shown to validate the performance of the proposed algorithm.Another algorithm for VMs placement is presented in [33].The algorithm is based on Ant Colony Optimization (ACO) and targets power consumption and VM performance as bi-objective optimization problem.The algorithm builds a power model based on CPU utilization and power consumption.VM performance is dealt with by the VM performance model.The performance of the algorithm is validated with the experimental results.Another algorithm for energy-efficient VM placement is presented in [34].The algorithm is based on the decrease and conquers GA.The algorithm decreases the problem size and the number of VM migrations.The algorithm is compared with other techniques to validate the performance.Cloud computing is also being challenged by the correlation between energy consumption and QoS.The challenges include resource utilization and energy consumption.Under utilization or over utilization ultimately leads to degrading QoS.To overcome these problems, a technique based on adaptive thresholds is proposed in [35].This technique is based on a three-way decision in VMs migration.In the first step, the algorithm evaluates the load of hosts according to the utilization of each host.The algorithm determines dynamic thresholds to identify under and over-utilized hosts.Based on the values of thresholds, the algorithm categorizes the hosts as under-utilized, normal, or overutilized.Placement takes place according to the status of each host i.e., normal nodes do nothing and for the other two nodes, VMs will be determined by the ATM to migrate and optimize the target host choice based on the transmission overhead.
Many solutions exist to solve the problem of energy consumption in cloud data centers.Different researchers have targeted different parameters.The solutions also consist of optimization techniques with one or more objectives.VM placement and load balancing are used to solve this problem.The parameters are related to each other i.e., improving one parameter affects the other parameters.Thresholding is used to measure the load of hosts to avoid over and under-utilization of the resources.This results in better resource utilization, low energy consumption, and better QoS.Usually lower and upper thresholds are used to detect overutilized and underutilized hosts.In some cases, the utilization remains closer to the lower threshold, however, the lower threshold does not detect such utilization.This scenario leads to inefficient resource utilization despite using thresholds.The solutions must also take care of the trade-off between different parameters.

Materials and methods
This section presents the proposed algorithm in detail.First, the cloud computing model and adaptive thresholding are discussed followed by energy consumption, SLA violations, and GA.The proposed method is presented at the end of the section.

Cloud model
In cloud data centers, physical infrastructure is provided with Physical Machines (PMs) or hosts.Each data center consists of a set of hosts (H 1 , H 2 , . .., Hn).The hosts are virtualized to create VMs to execute users' tasks.A host H i running in the data center is considered as active host.Each active host is represented as ) where f i and v i are the pairs of frequency and voltage whereas C i , M i and S i represent computation, memory and storage capacity respectively [36].After virtualization, the resources are allocated to VMs.The allocation of resources to VM j can be represented as memory and storage demand of VM j .Eqs 1 to 3 show allocated resources of the host to n VMs [35,37].
Where n is the number of VMs allocated to host H i .The weighted sum of the resource utilization of a host is calculated with Eq 4.Where α, β and γ are the weight factors of each resource.Based on load of a host, the host can be categorized as over utilized, under utilized, or normal [35].
Thresholds T l and T u are used to adaptively adjust the load of a host.Thresholds are calculated with Eqs 5 and 6 An intermediate value m is also calculated to further check the load of normal hosts.The value is calculated as the average of upper and lower thresholds as shown in Eq 7.
In Eqs 5 and 6 σ refers to the standard deviation of the load in the cluster.The standard deviation is calculated with Eq 8. Whereas U s and O s represent the evaluation values of the cluster underload and overload status calculated with Eqs 9 and 10 respectively.s ¼ ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffiffi P n i¼1 ðL i À � LÞ Where L i is to the load of i th , � L is the average load of all hosts and n is the number of hosts.
Where � L is the average load of all hosts in the cluster, m 1 and m 2 are the boundary functions calculated with Eqs 11 and 12 respectively.

Energy consumption and SLA violations
In cloud data centers, several factors lead to energy consumption including hosts, networks, and cooling systems.Hosts are the main cause of energy consumption [25].Hosts consume energy through computation, memory, and storage, etc.The energy consumption of a host can be either static or dynamic.Static mode refers to the idle state of the host where approximately 70% of the energy is consumed when the host is running with peak CPU utilization [36].Dynamic energy consumption refers to energy consumption by different utilization levels of the CPU.The energy consumption model used in this paper is shown in Eq 16.
Where E max is the energy consumed when the host is at peak utilization, k is the static energy consumption and U is the resource utilization.Utilization is calculated with Eq 4 [35].SLA violations depend upon multiple parameters.Host utilization is one of the parameters.Overutilization of underutilization of the host leads to VMs migrations that in turn lead to SLA violations.The target is to reduce the overall SLA violations as shown in Eq 17 [12].

overallSLAVs ¼ totalRequestedMIPs À totalAllocatedMIPs totalRequestedMIPs ð17Þ
Where totalRequestedMIPs are the sum of MIPs of requested by all VMs and the totalAlloca-tedMIPs are the MIPs allocated by a host to all VMs.The number of VMs migrations is another factor of SLA violations.Large number of migrations lead to poor performance and too few migrations lead to inappropriate placement.There should be a balanced number of migrations to handle the tradeoff.Host shutdowns also lead to SLA violations.Too frequent switching of hosts might lead to failure in long run [38].

Genetic algorithm
GA is a class of evolutionary algorithms to solve computationally intensive problems.Phases in GA include the selection of the initial population, evaluation of the fitness, crossover, and mutation.Steps are repeated until no better solution is found or a predefined termination criterion is met.The structure of chromosomes and genes is defined according to the characteristics of a particular problem [39].GA follows the genetic process to produce new generations.The first genetic operator is the selection that selects the chromosomes for the population.After selecting the initial population, crossover and mutation operators are used to generate new generations.Each chromosome is evaluated and the fittest solutions are finally used.The fittest solutions are selected according to the fitness function [40].The fitness function used in this article is shown in Eq 18 which is based on the maximum and minimum values of energy consumption and SLA violations.
Fitness ¼ w max ec À ec max ec À min ec þ w max SLAVs À SLAVs max SLAVs À min SLAVs ð18Þ

Proposed algorithm
The cloud model considered in this article consists of N heterogeneous hosts with limited resource capabilities.The users' requests are handled by creating VMs and assigning VMs to hosts.The target is the dynamic allocation of VMs to hosts in such a way that overall energy consumption and SLA violations are reduced.The problem is considered as dynamic allocation which in turn leads to an optimization problem.The proposed algorithm uses GA for optimization purpose.The utilization of hosts and VMs strongly influences the performance of cloud computing.Energy consumption and SLA violation are also influenced by the utilization of resources.The proposed algorithm targets the utilization of hosts and VMs to reduce energy consumption and SLA violations.
In the first phase, the algorithm uses the adoptive thresholds [35] to identify over utilized and under utilized hosts.The algorithm defines two thresholds for host utilization.The lower threshold is used to identify under-utilized hosts whereas the upper threshold is used to identify the over-utilized hosts.Normal hosts i.e. host with normal utilization lies between the two thresholds.In addition to the two thresholds defined, we have adopted a new value i.e. the average of the lower and upper thresholds.This value is used to identify those hosts which are considered normal hosts, but the load is near the lower threshold.This causes inefficient utilization of resources as the algorithm will not assign any more load to this host.The new value identifies these hosts and assigns VMs to the hosts for efficient utilization.The value can be calculated as the average of the lower and upper thresholds as shown in Eq 7.For example, if the lower threshold is 30 and the upper threshold is 90 the algorithm finds a host with 40 percent utilization.The host is considered with the normal load but if no more VMs are assigned, the host resources will be wasted.The new value, in this case, is 60.The proposed technique checks the load of the host.If the load is less than the middle value, the host is considered for VMs assignment.The assignment is conditional i.e. the new load does not cause the host to be overutilized (lines 27-40 of Algorithm 1).The algorithm checks if any assignment causes violations.For this purpose, over-utilized hosts are identified at the time of resource allocation.The algorithm calculates the total resources needed for VMs and the available resources of hosts.If the demand for resources does not cause over-utilization of the host, the algorithm proceeds with the assignment otherwise VMs are assigned to another host with under-utilization.Authors in [12] use this technique to calculate violation cost whereas, in the proposed algorithm, the technique is used to calculate the load during the assignment process.If a host is identified as over-utilized, the VMs are identified for migration (lines 7-10 of Algorithm 1).This step includes the identification of the target host for VMs migration, which is selected based on the current utilization.If a host is underutilized, first it is checked if VMs in the waiting list can be accommodated in this host.If VMs are accommodated, the assignment will take place according to the upper threshold otherwise VMs from the host are added to the migration list, and the host is put into sleep mode (lines 11-26 of Algorithm 1).
Algorithm 1 Pseudo code of the proposed algorithm To find an optimal solution to the problem the proposed algorithm uses GA.The initial population consists of candidate solutions to problem.In case of VMs placement, the solution is described as the mapping of VMs to hosts.A list of hosts is considered as chromosomes and the mappings of VMs to a host are considered as genes.Available hosts are considered in the initial population and the VMs are assigned as per the application demands.The population is created randomly, and the solution is tested to find a better solution.The fitness of the solution is valued based on energy consumption and SLA violations as bi-objective optimization problem.The parameters are calculated with Eqs 16 and 17 respectively.The solution that results in low energy consumption and the minimum number of SLA violations is considered as better solution.Eq 18 [40,41] is used to calculate the fitness value.Crossover operator is used to produce new solutions by taking genes from two parent solutions.Parents are selected based on tournament selection.Crossover can be either single-point, multi-point, uniform, or ordered crossover.In the proposed algorithm single-point crossover is used.In mutation operator, positions of genes are swapped within a single solution.The positions are swapped based on mutation probability.A random selection occurs based on the probability.In the evaluation of the proposed algorithm crossover and mutation probabilities were set to 0.8 and 0.2 respectively.The pseudo-code of the GA used in this article is shown in Algorithm 2.
Algorithm 2 Genetic Algorithm

Experimental evaluation
This section presents experimental evaluation of the proposed algorithm.The proposed algorithm was compared with heuristics-based [25] approach and utility-based approach [12].The heuristics-based approach is used to make a baseline for comparison.The utility-based approach is a specialized model designed to solve the same problem.The main objective of the proposed model is to reduce energy consumption.Different parameters are related to each other.Improving one parameter affects other parameters.To validate the performance of the proposed model QoS parameters including the number of migrations, and the number of host shutdowns are considered SLAVs and included in the evaluation metrics.Algorithms were evaluated based on energy consumption and SLA violations.Energy consumption is calculated as the energy consumed by all hosts as shown in Eq 16.The target is to reduce overall energy consumption.SLA violations occur due to over utilization of hosts or large number of VM migrations.The target is to minimize violations.SLAVs are calcualted using Eq 17.Experiments were performed in CloudSim simulator.Two different types of hosts were used in the simulations.Types include HP ProLiant ML110 G4 and HP ProLiant ML110 G5 as used in previous studies [12,42].The data center consists of 100 hosts.VMs with different specifications were included in the experiments.each VM uses one CPU core, 500, 1000, 1500, 2000 MIPS, 1 GB RAM and 10 GB storage.The algorithms were evaluated with tasks of variable workloads as shown in Table 1 [43].
Figs 2 to 7 show the results of different configurations of 10 runs of each algorithm.Configurations include different numbers of VMs i.e. 50, 100, 150, 200, 250, 300.Number of hosts for each configuration was 100.Energy consumption and the percentage of SLAVs are plotted for all algorithms.The results show that the proposed algorithm reduced both energy consumption and SLAVs as compared to other algorithms.In case of 50 VMs, the proposed algorithm achieved 15.13 and 28.63% reduction in energy consumption in comparison to utility-based approach and heuristics-based approach respectively.Reduction in SLAVs in comparison to utility based and heuristics-based approaches is 11.67 and 33.14% respectively for the same configuration.For 100 VMs the percentage improvement of the proposed algorithm over the In case of 150 VMs, the percent improvement gain of the proposed algorithm over the utilitybased approach is 13.06% for energy consumption and 12.35% for SLAVs.For the same configuration, the percent improvement gain of the proposed algorithm over heuristics-based approach is 22.79% for energy consumption and 32.86% for SLAVs.For 200 VMs and 100 hosts, the proposed algorithm achieved percent improvement gain of 15.18 and 13.98% over utility-based approach for energy consumption and SLAVs respectively.The improvement over the heuristics-based approach for the same configuration is 25.61 and 32.25% for energy consumption and SLAVs respectively.In case of 250 VMs, the improvement of the proposed algorithm over utility-based and heuristics-based approaches for energy consumption is 14.83 and 29.6% whereas for SLAVs the improvement is 12.8 and 32.82% respectively.For 300 VMs the proposed algorithm achieved 13.45 and 12.27% improvement for energy consumption and SLAVs respectively.For the same configuration, the improvement over heuristics-bases approach is 24.85 and 34.39% for energy consumption and SLAVs respectively.Figs 8 and 9 show average comparative results of energy consumption and SLAVs respectively.It can be observed that as the number of VMs increases, both energy consumption and SLAVs also increase.Energy consumption increases as more hosts are needed to accommodate VMs.SLAVs increase because more requests for VMs placement to host cause over-utilization and VMs migrations also take place.The proposed algorithm uses adaptive thresholds to identify overload and under-load hosts.Additionally, a third value is used to identify hosts that can accommodate VMs while the load remains normal.This leads to efficient resource utilization and both energy consumption and SLVs are reduced.In addition, the proposed algorithm assigns tasks to VMs according to the demand and capacity which ensures QoS and reduces SLAVS.

Conclusion
In this paper, a novel algorithm for VMs placement in cloud computing environment is presented.The algorithm uses adaptive thresholds to identify overutilized and underutilized hosts.GA is used for optimization.The algorithm targets energy consumption, and SLAVs as bi-objective parameters.A comparative analysis of the experimental results is presented to validate the proposed algorithm.Many studies have focused on some set of parameters, while others are not considered.The developed methods should consider objectives that are related to each other.Improving one objective affects other objectives and makes it difficult to implement.Cloud computing is vulnerable to various security attacks and the developed methods should consider this objective as well.